/**
 * 
 */
package pATT.SAVER.DM.suggestions;

import java.util.Vector;

import pATT.SAVER.courseStruct.Contenidos;
import pATT.SAVER.courseStruct.Tema;
import pATT.SAVER.courseStruct.Unidad;
import pATT.logger.Message;

/**
 *  Mensaje: Te sugiero que estudies el Tema X antes de comenzar con el estudio del Tema Y.
 *	Problema: 
 *	Justificacion: 
 * @author Ignacio
 *
 */
public class SAVERSuggestion1 extends SAVERSuggestion {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	public SAVERSuggestion1() {
		this.mensaje = "";
	}

	@Override
	public boolean checkDecision(Vector situacion, Contenidos contenidos, String estilo) {
		if(estilo.equals(Message.SECUENCIAL)){
			String temaAnterior = value(situacion, EVAL_ANTERIOR);
			String temaActualValue = value(situacion, TEMA);
			String unidadActualValue = value(situacion, UNIDAD);
			
			int idUnidadActual = Integer.parseInt(unidadActualValue);
			int idTemaActual = Integer.parseInt(temaActualValue);
			int idTemaAnterior = contenidos.obtenerIDTema(temaAnterior);
			
			Unidad unidadAnterior = contenidos.obtenerUnidadTema(temaAnterior);
			Unidad unidadActual = contenidos.obtenerUnidad(idUnidadActual);
			
			if(unidadAnterior.equals(unidadActual)){
				//estan en la misma unidad
				if(contenidos.sonConsecutivos(idTemaAnterior, idTemaActual)){
					return false;
				}
			}
			String temaActual = ((Tema)unidadActual.getTemas().get(idTemaActual)).getNombre();
			String temaRecomendado = contenidos.obtenerTemaSiguiente(unidadAnterior, idTemaAnterior).getNombre();
			if(temaRecomendado == temaActual){
				return false;
			}
			this.mensaje = " Te sugiero que estudies el Tema "+ temaRecomendado+" antes de comenzar con el estudio del Tema "+temaActual;


			return true;
		}
		return false;
	}

}
